A new type non-volatile random access memory (NVRAM) has the following characteristics: (1) non-volatile; (2) having a greater storage density than a conventional dynamic random access memory (DRAM); (3) having read and write performance that is several orders of magnitude higher than read and write performance of a conventional flash memory and a hard disk and is close to read and write performance of the DRAM; and (4) having a longer write lifetime than the flash memory. These advantages enable a system designer to construct an efficient persistent storage system based on the NVRAM.
Because the NVRAM has efficient read and write performance, during the past few years, researchers have found that a conventional file system based on a disk and a flash memory is no longer applicable to the NVRAM for the following reasons: (1) Software overheads of the conventional block device layer in the operating system are higher than actual read and write overheads of the NVRAM device. (2) Because performance of the NVRAM storage device is close to performance of the DRAM, the memory cache cannot improve performance but brings about additional data copies, which reduces the performance of the file system. Therefore, in an existing file system (for example, PMFS or EXT4-DAX) that is optimized on the basis of the NVRAM, the memory cache is removed directly, and file data is directly copied between the user buffer and the storage device.
However, a main disadvantage of the existing NVRAM storage device is: the read performance and the write performance are asymmetric, and the write performance is one order of magnitude lower than the read performance. Therefore, copying file data directly between the user buffer and the storage device reduces the write performance of the file system, resulting in suboptimal performance of the file system.